const {
  mock_flag
} = require("../../../data/index.js")
Page({
  data: {
    // 登录加载状态，初始为 false 表示未加载
    loading: false,
    //用户信息
    userInfo: null
  },
  onLoad() {
    // 静默登录逻辑（可选），尝试从本地缓存中获取用户信息
    const user = wx.getStorageSync('user');
    // 如果本地缓存中存在用户的 token，则返回到上一个页面
    if (user?.token) wx.navigateBack();
  },
  /**
   * 跳转
   */
  //首页
  to_home() {
    wx.switchTab({
      url: '/pages/home/index/index',
    })
  },
  /**
   * 模拟微信登录
   */
  handLogin() {
    //模拟登录
    if (mock_flag) {
      //修改加载状态
      this.setData({
        loading: true
      })
      wx.setStorageSync('isLogin', true);
      wx.setStorageSync('userId', 1);
      // 显示登录成功的提示信息
      wx.showToast({
        title: '登录成功',
        icon: 'none'
      });
      // 延迟2s后跳转到首页
      setTimeout(() => {
        this.to_home()
      }, 2000);
    }
  },
  /**
   * 微信登录授权
   */
  onLogin(e) {
    // 获取用户信息
    wx.getUserProfile({
      desc: '用于完善用户资料',
      success: (res) => {
        this.setData({
          userInfo: res.userInfo
        });
        // 获取临时登录凭证
        wx.login({
          success: (loginRes) => {
            if (loginRes.code) {
              // 发送 code 和用户信息到后端
              wx.request({
                url: 'http://localhost:8001/front/user/loginWX1',
                method: 'POST',
                data: {
                  code: loginRes.code,
                  userInfo: res.userInfo
                },
                success: (serverRes) => {
                  if (serverRes.data.status === 200) {
                    wx.showToast({
                      title: '登录成功',
                      icon: 'success'
                    });
                    // 可以在这里处理登录成功后的逻辑，比如跳转到主页
                  } else {
                    wx.showToast({
                      title: '登录失败',
                      icon: 'none'
                    });
                  }
                },
                fail: () => {
                  wx.showToast({
                    title: '请求服务器失败',
                    icon: 'none'
                  });
                }
              });
            } else {
              wx.showToast({
                title: '获取临时登录凭证失败',
                icon: 'none'
              });
            }
          },
          fail: () => {
            wx.showToast({
              title: '登录失败',
              icon: 'none'
            });
          }
        });
      },
      fail: () => {
        wx.showToast({
          title: '用户拒绝授权',
          icon: 'none'
        });
      }
    });
  }
});